package com.gengzp.mq.server.mapper;

import com.gengzp.mq.server.model.topic.entity.MqTopic;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName MqTopicMapper
 * @Description 消息主题 mapper 层接口
 * @Author gengzp
 * @Date 2025/10/22 21:35
 */
@Mapper
public interface MqTopicMapper {

    /**
     * 插入主题
     *
     * @param topic 主题
     */
    void insertTopic(MqTopic topic);

    /**
     * 编辑主题描述
     *
     * @param topic 主题
     */
    void updateTopicDescription(MqTopic topic);

    /**
     * 删除主题
     *
     * @param topicName 主题名
     */
    void deleteTopic(@Param("topicName") String topicName);

    /**
     * 根据主题名查询主题
     *
     * @param topicName 主题名
     * @return 主题
     */
    MqTopic selectTopicByName(@Param("topicName") String topicName);

    /**
     * 查询主题列表
     *
     * @return 主题列表
     */
    List<MqTopic> selectAllTopic();

}
